import axios from "axios";

import { ref } from "vue";
// axios.defaults.baseURL = ''  //正式
import router from "@/router";
axios.defaults.baseURL = "/phone"; //测试
const loading = ref(true);
var num = 0;
// const dialogVisible = ref(false);
//axios.defaults.baseURL = process.env.VUE_APP_BASE_API;
//post请求头
//axios.defaults.headers.post["token"] = "22222";
//允许跨域携带cookie信息
axios.defaults.withCredentials = true;
//设置超时
axios.defaults.timeout = 15000;

// 请求拦截
axios.interceptors.request.use(
  (config) => {
    num++;

    loading.value = true;
    return config;
  },
  (error) => {
    return Promise.reject(error);
  }
);

// 响应拦截
axios.interceptors.response.use(
  (response) => {
    num--
    if (response) {
      if (response.data) {
        if (response.data.code == 4) {
          router.push("/h5/login");
        }
      }
    }

    if (num <= 0) {
      loading.value = false;
    } else {
      loading.value = true;;
    }

    return Promise.resolve(response.data);
  },
  (error) => {
    return Promise.reject(error);
  }
);

export default { axios, loading };
// export default {
//   /**
//    * @param {String} url
//    * @param {Object} data
//    * @returns Promise
//    */
//   post(url: string, data: any) {
//     return new Promise((resolve, reject) => {
//       axios({
//         method: "post",
//         url,
//         data: qs.parse(data),
//       })
//         .then((res) => {
//           resolve(res);
//         })
//         .catch((err) => {
//           reject(err);
//         });
//     });
//   },

//   get(url: string, data: any) {
//     return new Promise((resolve, reject) => {
//       axios({
//         method: "get",
//         url,
//         params: data,
//       })
//         .then((res) => {
//           resolve(res.data);
//         })
//         .catch((err) => {
//           reject(err);
//         });
//     });
//   },
// };
